#pragma once
#include "ByteBuffer.h"
using namespace std;

class DataCrypt
{
public:
    DataCrypt(void);
    ~DataCrypt(void);
    void Function();
    ByteBuffer DES_Encrypt(const byte* key, int keyLen, const byte* data, int dataLen, int mode=0);
    ByteBuffer DES_Decrypt(const byte* key, int keyLen, const byte* data, int dataLen, int mode=0);
    ByteBuffer DES3_Encrypt(const byte* key1, const byte* key2, const byte* key3, const byte* data, int dataLen, int mode=0);
    ByteBuffer DES3_Dncrypt(const byte* key1, const byte* key2, const byte* key3, const byte* data, int dataLen, int mode=0);
    ByteBuffer AES_Encrypt(const byte* key, int keyLen, const byte* data, int dataLen);
    ByteBuffer AES_Decrypt(const byte* key, int keyLen, const byte* data, int dataLen);
    ByteBuffer AES_EncryptEcb(const byte* key, int keyLen, string data);
    ByteBuffer AES_DecryptEcb(const byte* key, int keyLen, string data);
};
